using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using 凌依.Xml;
using 凌依.工具库;

public class 公共配置
{
    private string _配置路径 = "";

    public string 配置路径 { get => _配置路径; }
    public static 公共配置 实例 {
        get
        {
            if (_实例 == null)
                _实例 = new 公共配置();
            return _实例;
        }
    }

    private static 公共配置 _实例;

    public 公共配置()
    {
        _配置路径 = Application.dataPath + @"/Resources/数据/配置数据/配置.xml";
        if (IO函数.检查_文件是否存在(_配置路径))
        {
            string 文档 = IO操作.文件_读取文本(_配置路径);
            _内部核心 = new 配置文件工具(文档);
        }
        else
        {
            _内部核心 = new 配置文件工具();
            IO操作.文件_覆盖写入(_配置路径, _内部核心.保存文档());
        }
    }

    private 配置文件工具 _内部核心;

    public void 保存配置()
    {
        IO操作.文件_覆盖写入(_配置路径, _内部核心.保存文档());
    }

    public string this[string 键]
    {
        get => _内部核心[键];
        set
        {
            _内部核心[键] = value;
            保存配置();
        }
    }

    public string this[string 键,string 属性键]
    {
        get => _内部核心[键, 属性键];
        set
        {
            _内部核心[键, 属性键] = value;
            保存配置();
        }
    }
}